band_mtx_to_full_mtx Interface

public interface band_mtx_to_full_mtx

An interface to the banded matrix to full matrix conversion routines.


Module Procedures

private subroutine band_to_full_mtx_dbl(kl, ku, b, f, err)

Converts a banded matrix to a full matrix.

The banded matrix is stored in a compressed form supplied column by column. The following code segment transfers between a full matrix to the bonded matrix storage scheme. \code{fortran} do j = 1, n k = ku + 1 - j do i = max(1, j - ku), min(n, j + kl) a(k + i, j) = matrix(i, j) end do end do \endcode

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: kl

The number of subdiagonals in the banded matrix.

integer(kind=int32), intent(in) :: ku

The number of superdiagonals in the banded matrix.

real(kind=real64), intent(in), dimension(:,:) :: b

The banded matrix to convert.

real(kind=real64), intent(out), dimension(:,:) :: f

The full matrix to store the result in.

class(errors), intent(inout), optional, target :: err

An error object to report any errors that occur.

private subroutine band_to_full_mtx_cmplx(kl, ku, b, f, err)

Converts a banded matrix to a full matrix.

The banded matrix is stored in a compressed form supplied column by column. The following code segment transfers between a full matrix to the bonded matrix storage scheme. \code{fortran} do j = 1, n k = ku + 1 - j do i = max(1, j - ku), min(n, j + kl) a(k + i, j) = matrix(i, j) end do end do \endcode

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: kl

The number of subdiagonals in the banded matrix.

integer(kind=int32), intent(in) :: ku

The number of superdiagonals in the banded matrix.

complex(kind=real64), intent(in), dimension(:,:) :: b

The banded matrix to convert.

complex(kind=real64), intent(out), dimension(:,:) :: f

The full matrix to store the result in.

class(errors), intent(inout), optional, target :: err

An error object to report any errors that occur.